🎖️GitЯра🎖️
src/helpers/ethernet/ch390/CH390EthernetInterface.cpp 5732b2edd8563281ef7d344cd6517f969ca160ab (5732b2ed) Text, 2.69 KB
Tff7b72#Tff7b72include T8b949e"CH390EthernetInterface.h"
Tffa657void Td2a8ffonWiFiEventTb4b4b4(Te6edf3WiFiEvent_t Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72switchTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4{
Tff7b72case Tff7b72ARDUINO_EVENT_ETH_STARTTb4b4b4:
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffEthernet StartedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Tff7b72ARDUINO_EVENT_ETH_CONNECTEDTb4b4b4:
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffEthernet ConnectedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Tff7b72ARDUINO_EVENT_ETH_DISCONNECTEDTb4b4b4:
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffEthernet DisconnectedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Tff7b72ARDUINO_EVENT_ETH_GOT_IPTb4b4b4:
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffEthernet Got IPTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINT_IPTb4b4b4(Ta5d6ff"Ta5d6ffIP AddressTa5d6ff"Tb4b4b4, Te6edf3CH390Tb4b4b4.Te6edf3localIPTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINT_IPTb4b4b4(Ta5d6ff"Ta5d6ffSubnet MaskTa5d6ff"Tb4b4b4, Te6edf3CH390Tb4b4b4.Te6edf3subnetMaskTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINT_IPTb4b4b4(Ta5d6ff"Ta5d6ffGatewayTa5d6ff"Tb4b4b4, Te6edf3CH390Tb4b4b4.Te6edf3gatewayIPTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINT_IPTb4b4b4(Ta5d6ff"Ta5d6ffDNSTa5d6ff"Tb4b4b4, Te6edf3CH390Tb4b4b4.Te6edf3dnsIPTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffMAC Address: %sTa5d6ff"Tb4b4b4, Te6edf3CH390Tb4b4b4.Te6edf3macAddressTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3c_strTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72defaultTff7b72:
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657bool Td2a8ffCH390EthernetInterface::beginTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// listen to ethernet events
Te6edf3WiFiTb4b4b4.Te6edf3onEventTb4b4b4(Te6edf3onWiFiEventTb4b4b4)Tb4b4b4;
T8b949e// Init CH390
Te6edf3ch390_config_t Te6edf3config Tff7b72= Te6edf3CH390_DEFAULT_CONFIGTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3configTb4b4b4.Te6edf3spi_miso_gpio Tff7b72= Te6edf3ETH_MISO_PINTb4b4b4;
Te6edf3configTb4b4b4.Te6edf3spi_mosi_gpio Tff7b72= Te6edf3ETH_MOSI_PINTb4b4b4;
Te6edf3configTb4b4b4.Te6edf3spi_sck_gpio Tff7b72= Te6edf3ETH_SCLK_PINTb4b4b4;
Te6edf3configTb4b4b4.Te6edf3spi_cs_gpio Tff7b72= Te6edf3ETH_CS_PINTb4b4b4;
Te6edf3configTb4b4b4.Te6edf3int_gpio Tff7b72= Te6edf3ETH_INT_PINTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3CH390Tb4b4b4.Te6edf3beginTb4b4b4(Te6edf3configTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffFailed to initialize CH390 hardware.Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
T8b949e// Setup Static IP if build flags are present
Tff7b72#Tff7b72if defined(ETHERNET_STATIC_IP) && defined(ETHERNET_STATIC_GATEWAY) && defined(ETHERNET_STATIC_SUBNET)
Te6edf3IPAddress Te6edf3ipTb4b4b4(Te6edf3ETHERNET_STATIC_IPTb4b4b4)Tb4b4b4;
Te6edf3IPAddress Te6edf3gwTb4b4b4(Te6edf3ETHERNET_STATIC_GATEWAYTb4b4b4)Tb4b4b4;
Te6edf3IPAddress Te6edf3snTb4b4b4(Te6edf3ETHERNET_STATIC_SUBNETTb4b4b4)Tb4b4b4;
Te6edf3CH390Tb4b4b4.Te6edf3configTb4b4b4(Te6edf3ipTb4b4b4, Te6edf3gwTb4b4b4, Te6edf3snTb4b4b4)Tb4b4b4;
Tff7b72#Tff7b72endif
T8b949e// Start Server
Te6edf3serverTb4b4b4.Te6edf3beginTb4b4b4(Te6edf3ETHERNET_TCP_PORTTb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6fflistening on TCP port: %dTa5d6ff"Tb4b4b4, Te6edf3ETHERNET_TCP_PORTTb4b4b4)Tb4b4b4;
Tff7b72return Tffa657trueTb4b4b4;
Tb4b4b4}
Tffa657int Td2a8ffCH390EthernetInterface::availableTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3clientTb4b4b4.Te6edf3availableTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657int Td2a8ffCH390EthernetInterface::readTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3clientTb4b4b4.Te6edf3readTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657size_t Td2a8ffCH390EthernetInterface::writeTb4b4b4(Tff7b72const Tffa657uint8_t Tff7b72*Te6edf3bufTb4b4b4, Tffa657size_t Te6edf3sizeTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3clientTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3bufTb4b4b4, Te6edf3sizeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657bool Td2a8ffCH390EthernetInterface::isConnectedTb4b4b4(Tb4b4b4) Tff7b72const Tb4b4b4{
Tff7b72return Te6edf3_isConnectedTb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffCH390EthernetInterface::loopTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3serverTb4b4b4.Te6edf3hasClientTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72auto Te6edf3newClient Tff7b72= Te6edf3serverTb4b4b4.Te6edf3availableTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3newClientTb4b4b4) Tb4b4b4{
Te6edf3IPAddress Te6edf3remoteIp Tff7b72= Te6edf3newClientTb4b4b4.Te6edf3remoteIPTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657uint16_t Te6edf3remotePort Tff7b72= Te6edf3newClientTb4b4b4.Te6edf3remotePortTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffNew client accepted %u.%u.%u.%u:%uTa5d6ff"Tb4b4b4, Te6edf3remoteIpTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Te6edf3remoteIpTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4, Te6edf3remoteIpTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4, Te6edf3remoteIpTb4b4b4[T79c0ff3Tb4b4b4]Tb4b4b4, Te6edf3remotePortTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3clientTb4b4b4) Tb4b4b4{
Te6edf3ETHERNET_DEBUG_PRINTLNTb4b4b4(Ta5d6ff"Ta5d6ffClosing previous clientTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3clientTb4b4b4.Te6edf3stopTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3client Tff7b72= Te6edf3newClientTb4b4b4;
Te6edf3onClientConnectedTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3_isConnected Tff7b72= Te6edf3clientTb4b4b4.Te6edf3connectedTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Served by rngit 1.5.4 - Generated in 0.04s